1. Field of Invention
This invention relates to communication network methods, systems and program products. More particularly, this invention relates to controlling network congestion using a biased packet discard policy for congestion control and encoded session packets: methods, systems, and program products
2. Description of Prior Art
Numerous different Speech Coder/Decoder techniques for compressing speech signals and recovering the original signals from the compressed data have been standardized by the International Telecommunications Union (ITU) (e.g., G.711, G.723.1, G.726, G.728, G.729A). There are many other codec techniques and algorithms which remain proprietary. Likewise, numerous codec algorithms (both standard and proprietary) have been applied to the compression of video signals. Various data codecs, such as compression, error correction, or encryption processors, could also be applied within the scope of this invention. The various codec algorithms typically provide a trade-off between implementation complexity (MIPs and Memory), bit rate required to support real-time sessions, and session quality. Thus one can typically choose a more complex algorithm to reduce the bit rate required to support a session, but in general the lower bit rate also typically results in lower quality session when passed through a coder/decoder pair. For instance lower bit rate connections for voice or video would typically result in lower quality speech or image signals as perceived by the user, while use of compressed data as opposed to uncompressed data might result in longer latency for a data session. Use of more effective error-correcting codes, with corresponding larger overhead could be applied to data sessions when excess bandwidth is available, potentially avoiding the need for retransmission of data received in error.
The codecs are typically useful in facilitating voice or video traffic within packet-based networks i.e., IP networks, including the Internet as well as private and virtual private networks. Compression functions are desirable since they reduce the load on the networks by reducing the bit rate required to support each session. A motivation for voice over packet networks is to reduce the cost of voice traffic (i.e., toll bypass), as well as to consolidate both voice and data onto a single network, thus reducing network management overhead. A second motivation of voice over packet technology is to connect a remote telephone into the Public Switched Telephone Network (PSTN) without using local phone service. Connecting a remote telephone into the PSTN is done by using a broadband link such as Asynchronous Digital Subscriber Line (ADSL) to carry the digitized voice from the subscriber's location through the local central office to a voice gateway. In either network configuration, the voice codec type is typically negotiated at the beginning of a voice session. Video over various packet networks is also highly desirable for video conferencing, distance learning, and video on demand applications.
ITU-T standard H.323 provides a protocol for two endpoints to negotiate the desired codec for a session. Once established, codec parameters are typically fixed for the duration of a session. Typical user preference would be to always use the codec that results in the best session quality. Unfortunately, if there is significant traffic (many voice or video sessions as well as many data sessions) on the network, the higher throughput required for the desired session quality can result in lost packets (for both voice/video and data traffic) in the network due to router decisions to discard packets as queues become too full. Lost voice (video) packets degrade the speech (image) quality of voice (video) sessions, and lost data traffic may even make congestion worse because of a need to retransmit discarded data. The desirability of adjusting speech codec bit-rate in response to congestion was pointed out in the text “Digital Coding of Waveforms: Principles and Applications to Speech and Video” by Nuggehally S. Jayant, P. Noll, by Prentice Hall, Engwood Cliffs, N.J., November 1990. However there was no discussion in this reference as to how one should determine when to alter the coder bit rate. A paper entitled “A dynamic rate control mechanism for integrated networks”, Yin, N.; Hluchyj, M. G.; INFOCOM '91. Proceedings; Tenth Annual Joint Conference of the IEEE Computer and Communications Societies; Networking in the 90s; IEEE, 1991; Page(s): 543–552 vol. 2, discloses a technique whereby a network device could modify a packet header to indicate to the end nodes a congested network condition. However, the technique requires explicit packet modification within the network and would be difficult to implement on a widespread basis.
Accordingly, there is therefore a need to control the bandwidth consumed by sessions in a packet network in order to better control network congestion.
Other prior art related to packet network congestion control includes:
U.S. Pat. No. 6,081,504 entitled “Apparatus & Method for Cell Discard” issued Jun. 27, 2000, filed Mar. 19, 1993 discloses a cell-discard control apparatus that includes an encoding unit for encoding voice/image information in accordance with a prescribed coding scheme. An information-dividing unit divides the encoded data into basic information data and detail information data. A basic information cell-assembling unit assembles the basic information data into basic information cells. A detail information cell-assembling unit assembles the detail information data into detail information cells. A basic information-multiplexing unit multiplexes basic information of a plurality of channels for transmission. A detail information multiplexing unit multiplexes detail information of the plurality of channels for transmission. A cell output unit outputs the basic information multiplexed cell and the detail information multiplexed cell and preferentially discards the detail information multiplexed cell in the event of congestion.
U.S. Pat. No. 6,044,079 entitled “Statistical Packet Discard” issued Mar. 28, 2000, filed Oct. 3, 1997 discloses an apparatus that manages Packet-Discard at a switch in an ATM network. The apparatus includes a table having a number of table addresses (or indexes). Each table address stores a record for incoming data cells of a frame. The records indicate whether data cells of the frame are to be discarded. The number of possible cell identifiers is greater than the number of table addresses. The apparatus also includes a processor unit that receives a data cell having a cell identifier. The processor unit determines a table key, based on the cell identifier such that the table key is within the range of the table addresses. The processor unit then searches a record in the table associated with the table key to determine whether the data cell is to be discarded.
U.S. Pat. No. 5,444,706 entitled “Packet Exchange Network and Method of Controlling Discard of Packets in Packet Exchange Network” issued Aug. 22, 1995, filed Dec. 26, 1990 discloses a packet exchange network comprises a plurality of packet exchange nodes connected through trunk lines and terminals connected to the packet exchange nodes each of which is provided a packet storage buffer for storing received packets. When the buffer cannot store every incoming packet due to “traffic congestion,” some of the packets are discarded from the buffer by examining and registering the number of relay packet exchange nodes through which the packet passes during the communication at the time of setting a call to start a packet communication and by positively changing a discard rate of packets to be discarded at each relay packet exchange node on the basis of the registered packet exchange node number, so that all the packets have substantially the same discard rate regardless of the relay packet exchange node number.
U.S. Pat. No. 5,253,326 entitled “Prioritization Method and Device for Speech Frames Coded by a Linear Predictive Coder” issued Oct. 12, 1993, filed Nov. 26, 1991 discloses a priority assignment method and device set forth for assigning a priority to a selected speech frame coded by a linear predictive coder based on at least two of: energy of the speech frame, a log spectral distance between a frame and a frame immediately previous, and a pitch predictor coefficient for the selected speech frame. The invention protects against loss of perceptually important and hard-to-reconstruct speech frames. .
U.S. Pat. No. 5,231,633 entitled “Method for Prioritizing, Selectively Discarding, and Multiplexing Different Traffic Type Passed Packets” issued Jul. 27, 1993, filed Jul. 11, 1990 discloses a queuing and dequeing mechanism for use in an integrated fast packet network, wherein fast packets from differing traffic types are multiplexed with one another through use of a weighted round-robin bandwidth allocation mechanism (517). Fast packets within a particular traffic type are selected for transmission through use of a head of line priority service (514), a packet discard mechanism (516), or both. The weighted round-robin bandwidth allocation mechanism functions in part, based upon a credit counter for each queue group that represents a particular traffic type.
None of the prior art discloses a network processing system capable of allowing congestion control packets to flow through the Network; classifying packets flowing through the network as congestion control, encoded packets (i.e. voice, video, compressed data, etc.) or data packets, and a biased packet discard policy which favors discarding congestion control packets followed by voice or video packets rather than data packets when an associated flow control mechanism forces some number of packets to be discarded in response to network congestion.